using System;

namespace SIOGDE.Negocios.Excepciones
{
   public class RequerimientoConfigNegociosExcepcion : Exception
   {
     /// <summary>
     /// Describe la excepcion que podría sucitarse con param
     /// </summary>
     /// <param name="param"></param>
     /// <returns></returns>
     public RequerimientoConfigNegociosExcepcion(string param) : base ("Se ha sucitado un error con el parametro "+param+" ")
     {
     }
     
   }
   public class RequerimientoConfigRequeridoExcepcion : Exception
   {
     public RequerimientoConfigRequeridoExcepcion () : base ("RequerimientoConfig No puede ser nulo.")
     {
     }
     
   }
   public class RequerimientoConfigEliminarExcepcion : Exception
   {
     public RequerimientoConfigEliminarExcepcion(string param) : base ("No se puede eliminar RequerimientoConfig, porque de éste dependen otros datos: "+param+" ")
     {
     }
     
   }


   public class ConfiguracionDuplicadaExcepcion : Exception
   {
       public ConfiguracionDuplicadaExcepcion()
           : base("Ya existe una configuracion con Arma, Grado, y Unidad Militar similar. No se puede proceder")
       {

       }
   }

   public class ArmaGradoUnidadMilitarRequeridoExcepcion : Exception
   {
       public ArmaGradoUnidadMilitarRequeridoExcepcion()
           : base("Arma, Grado y Unidad Militar es requerido")
       {

       }
   }


   public class NumeroDePersonasNoValidoExcepcion : Exception
   {
       public NumeroDePersonasNoValidoExcepcion()
           : base("Numero de personas debe ser mayor a 0")
       {

       }
   }

   public class RangoFechaNoValidoExcepcion : Exception
   {
       public RangoFechaNoValidoExcepcion()
           : base("Rango de fechas de promocion no validas")
       {

       }
   }

}

